/**
 * 图片相关工具函数
 */

import { useUserStore } from '@/store/modules/user'

/**
 * 获取用户信息中的 baseUrl
 * @returns baseUrl 字符串，如果不存在则返回空字符串
 */
export function getBaseUrl(): string {
  const userStore = useUserStore()
  return userStore.info?.baseUrl || ''
}

/**
 * 拼接完整的图片 URL
 * @param url 相对路径或完整URL
 * @returns 完整的图片URL
 */
export function getFullImageUrl(url: string): string {
  if (!url) return ''

  // 如果已经是完整的 URL (包含 http:// 或 https://), 直接返回
  if (url.startsWith('http://') || url.startsWith('https://')) {
    return url
  }

  // 获取 baseUrl
  const baseUrl = getBaseUrl()
  if (!baseUrl) return url

  // 确保 baseUrl 不以斜杠结尾
  const cleanBaseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl

  // 确保 url 以斜杠开头
  const cleanUrl = url.startsWith('/') ? url : `/${url}`

  return `${cleanBaseUrl}${cleanUrl}`
}

/**
 * 批量拼接图片 URL
 * @param urls 图片URL数组
 * @returns 拼接后的完整URL数组
 */
export function getFullImageUrls(urls: string[]): string[] {
  return urls.map((url) => getFullImageUrl(url))
}

/**
 * 拼接逗号分隔的图片URL字符串
 * @param urlString 逗号分隔的URL字符串
 * @returns 拼接后的完整URL字符串（逗号分隔）
 */
export function getFullImageUrlString(urlString: string): string {
  if (!urlString) return ''

  const urls = urlString.split(',').filter((url) => url.trim())
  const fullUrls = getFullImageUrls(urls)
  return fullUrls.join(',')
}
